Apache Ant একটি ওপেন সোর্স বিল্ড টুল যা প্রধানত Java প্রজেক্টের বিল্ড, টেস্টিং এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। Parallel Task (সমান্তরালে টাস্ক চালানো) অ্যাপাচি অ্যান্টের একটি শক্তিশালী বৈশিষ্ট্য, যা আপনাকে একাধিক টাস্ক বা টার্গেট একই সময়ে (প্যারালাল) চালানোর সুবিধা প্রদান করে। এটি বিশেষভাবে কার্যকরী যখন আপনার বিল্ড প্রক্রিয়া ত্বরান্বিত করতে চান বা একাধিক বিল্ড টাস্কের মধ্যে সেগুলি সমান্তরালে পরিচালনা করতে চান।
<parallel>
টাস্কটি অ্যাপাচি অ্যান্টে ব্যবহার করা হয় একাধিক টাস্ক বা টার্গেট একসাথে (প্যারালাল) চালানোর জন্য। এটি একাধিক অপারেশনকে একই সময় চালিয়ে বিল্ড প্রক্রিয়া দ্রুত সম্পন্ন করতে সহায়তা করে। প্যারালাল প্রসেসিংয়ের মাধ্যমে একাধিক টাস্ক বা কোড সমান্তরালে কাজ করতে পারে, যা বিশেষভাবে বিল্ডের সময়সীমা কমাতে সহায়ক।
true
হয়, তাহলে অ্যাপাচি অ্যান্ট প্রতিটি টাস্ক বা টার্গেটকে একটি নতুন জাভা প্রক্রিয়ায় চালাবে। (default: false
)<project name="ParallelBuildExample" default="parallel-task">
<target name="parallel-task">
<parallel>
<echo message="Task 1 is running in parallel"/>
<echo message="Task 2 is running in parallel"/>
<echo message="Task 3 is running in parallel"/>
</parallel>
</target>
</project>
<parallel>
টাস্কটি ৩টি echo
টাস্ক একসাথে চালাবে। সমস্ত echo
টাস্ক একসাথে (প্যারালাল) চলবে এবং তিনটি মেসেজ একই সময়ে প্রদর্শিত হবে।অ্যান্টে fork
অ্যাট্রিবিউট ব্যবহার করে আপনি সমান্তরাল টাস্কগুলিকে আলাদা প্রক্রিয়াতে চালাতে পারেন। এটি মূলত টাস্কগুলোকে আলাদা থ্রেড বা প্রসেসে চালানোর জন্য ব্যবহৃত হয়, যাতে তারা একে অপরের সাথে ব্লক না হয়ে সমান্তরালে কাজ করতে পারে।
<project name="ParallelBuildWithFork" default="parallel-task">
<target name="parallel-task">
<parallel fork="true">
<echo message="Task 1 running in parallel"/>
<sleep seconds="2"/>
<echo message="Task 2 running in parallel"/>
<sleep seconds="1"/>
<echo message="Task 3 running in parallel"/>
</parallel>
</target>
</project>
fork="true"
অ্যাট্রিবিউট ব্যবহার করা হয়েছে, যার মাধ্যমে প্রতিটি টাস্ককে একটি আলাদা জাভা প্রক্রিয়ায় (প্যারালাল থ্রেডে) চালানো হবে।echo
টাস্ক সমান্তরালে চলে যাবে, এবং sleep
টাস্ক দুটি নির্দিষ্ট সময়ের জন্য থামলেও সমান্তরাল কার্যক্রম চলতে থাকবে।আপনি যদি একটি টাস্ককে অন্য টাস্কের পর নির্দিষ্ট সময় চালাতে চান, তবে তার জন্য depends
অ্যাট্রিবিউট ব্যবহার করতে পারেন। তবে, এটি মূলত কার্যকর হবে যখন আপনি নির্দিষ্ট কিছু টাস্ক একে অপরের উপর নির্ভরশীল হতে চান।
<project name="ParallelBuildWithDependencies" default="parallel-tasks">
<target name="task1">
<echo message="Task 1 is starting..."/>
<sleep seconds="3"/>
<echo message="Task 1 is done"/>
</target>
<target name="task2">
<echo message="Task 2 is starting..."/>
<sleep seconds="1"/>
<echo message="Task 2 is done"/>
</target>
<target name="task3" depends="task1">
<echo message="Task 3 is starting..."/>
<sleep seconds="2"/>
<echo message="Task 3 is done"/>
</target>
<target name="parallel-tasks">
<parallel fork="true">
<ant target="task1"/>
<ant target="task2"/>
<ant target="task3"/>
</parallel>
</target>
</project>
task3
টার্গেটটি task1
এর উপর নির্ভরশীল, এবং task1
এবং task2
সমান্তরালে চালানো হবে।fork="true"
ব্যবহার করে এগুলোকে আলাদা প্রক্রিয়াতে চালানো হচ্ছে, যাতে এগুলি একে অপরকে ব্লক না করে সমান্তরালে চলে।যখন আপনি সমান্তরালে কাজ চালান, তখন error handling গুরুত্বপূর্ণ হয়ে দাঁড়ায়। <parallel>
টাস্কে যদি কোন টাস্কে ত্রুটি ঘটে, তবে আপনি চাইলে নির্দিষ্ট টাস্ককে বাদ দিয়ে বাকি টাস্কগুলো চালিয়ে যেতে পারেন।
<project name="ParallelBuildWithErrorHandling" default="parallel-task">
<target name="parallel-task">
<parallel>
<echo message="Task 1 is running..."/>
<fail message="Task 1 failed"/>
<echo message="Task 2 is running..."/>
<echo message="Task 3 is running..."/>
</parallel>
</target>
</project>
fail
টাস্কটি task1
-এ ত্রুটি ঘটাতে ব্যবহৃত হয়েছে।task2
এবং task3
সমান্তরালে চলবে, তবে task1
ত্রুটির কারণে fail
টাস্কটি থামিয়ে দিবে। এটি নিশ্চিত করতে পারে যে সমস্ত টাস্ক একত্রে একে অপরকে প্রভাবিত না করে সম্পন্ন হয়।অ্যাপাচি অ্যান্টের <parallel>
টাস্ক একটি শক্তিশালী টুল যা একাধিক টাস্ক বা টার্গেটকে সমান্তরালে (parallel) চালাতে সহায়তা করে, যা বিল্ড প্রক্রিয়া দ্রুত করতে এবং কার্যক্ষমতা বৃদ্ধি করতে সাহায্য করে। এটি fork
অ্যাট্রিবিউটের মাধ্যমে আলাদা প্রক্রিয়ায় টাস্কগুলো চালাতে সক্ষম, এবং বিভিন্ন ধরনের error handling, dependency, এবং task isolation সুবিধা প্রদান করে।
common.read_more